package com.example.mvpdemo2.mvpBase;

public abstract class BasePresenter <M extends BaseModule, V extends BaseActivity, CONTRACT> extends SuperBase<CONTRACT>{
    public M mModule;
    public V mView;

    public BasePresenter()
    {
        this.mModule = getmModuleInstance();
    }

    public void bindView(V mView)
    {
        this.mView = mView;
    }

    public void unbindView()
    {
        this.mView = null;
    }

    public abstract M getmModuleInstance();

    @Override
    public abstract CONTRACT getContract() ;
}
